1. Field of the Invention
This invention relates to optical code readers. In particular, this invention relates to a system and method for decoding optical codes read by imager—based optical code readers.
2. Description of the Related Art
Optical codes are patterns made up of image areas having different light reflective or light emissive properties, which are typically assembled in accordance with a priori rules. The term “barcode” is sometimes used to describe certain kinds of optical codes. The optical properties and patterns of optical codes are selected to distinguish them in appearance from the background environments in which they are used. Devices for identifying or extracting data from optical codes are sometimes referred to as “optical code readers” of which barcode scanners are one type.
Optical code readers are used in either fixed or portable installations in many diverse environments such as in stores for check-out services, in manufacturing locations for work flow and inventory control and in transport vehicles for tracking package handling. The optical code can be used as a rapid, generalized means of data entry, for example, by reading a target barcode from a printed listing of many barcodes. In some uses, the optical code reader is connected to a portable data processing device or a data collection and transmission device. Frequently, the optical code reader includes a handheld sensor which is manually directed at a target code.
An example of a conventional optical code is a one-dimensional barcode symbol. The barcode is a pattern of variable-width rectangular bars separated by fixed or variable width spaces. The bars and spaces have different light reflecting characteristics. One example of a one dimensional barcode is the UPC/EAN code used to identify, for example, product inventory. An example of a two-dimensional or stacked barcode is the PDF417 barcode. A description of PDF417 barcode and techniques for decoding it are disclosed in U.S. Pat. No. 5,635,697 to Shellhammer et al., and assigned to Symbol Technologies, Inc., which is incorporated herein by reference in its entirety. Another conventional optical code is known as “MaxiCode”. It consists of a central finder pattern or bull's eye center and a grid of hexagons surrounding the central finder. It should be noted that the aspects of the inventions disclosed in this patent application are applicable to optical code readers, in general, without regard to the particular type of optical codes which they are adapted to read. The invention described may also be applicable to some associated image recognition or analysis.
Optical code readers may be laser-based or imager-based. In a conventional imager-based optical code reader an imaging engine is provided having an image sensor having a two-dimensional array of cells or photo sensors, such as an area charge coupled device (CCD), which correspond to image elements or pixels in a field of view of the engine. The imaging engine further includes a lens assembly for focusing light incident on the image sensor and associated circuitry coupled to the image sensor outputting an array of electronic signals corresponding to a two-dimensional array of pixel information for the field of view. The electrical signals are digitized and provided as image data to a processor for processing thereof, including processing the image data for decoding the optical code.
Conventionally, an operator aims an optical code reader at a target code and pulls a trigger, which signals the optical code reader to process an acquired image, typically the next image acquired following the trigger pull. Image acquisition is typically performed in accordance with a sequential series of frames. In a system using a conventional 30 frames/sec video stream, a frame occurs approximately every 33 msec. The processing may include a decode operation, where the decode time extends into the next frame.
Minimizing the read time, e.g., time interval from trigger-pull to decode completion, is a high priority for optical code scanners. In commercially available imager-based optical code readers, the read time is relatively long compared to laser-based optical code readers. It would be advantageous to decrease the read time in an imager-based optical code reader for achieving speeds comparable to the speed of a laser-based optical code reader.
The read time includes a sum of the time needed to complete the remaining portion of the current frame (e.g., between 0–33 msec for the example using 30 frames/sec), the time needed for completing the next frame (e.g., 33 msec), and the time needed for performing the decode processing (e.g., 10 msec), totaling at least 43 msec in the example provided. Furthermore, in some optical code reader systems, the read time may further include additional frame(s), such as for processing sensed properties, adjusting parameter settings associated with the imaging or signal processing and acquiring image data or processing image data using the adjusted parameter settings.
In some systems an attempt is made to decrease the read time by beginning processing of the image data once the image data is partially acquired, such as when image data corresponding to a portion of the field of view are acquired (e.g., beginning with the upper portion of the field of view). However, the read time is not significantly decreased if the target optical code lies in a portion of the field of view that is not included in the portion processed that corresponds to the partial acquisition.
Accordingly, it is an aspect of the present invention to provide a system and method in which the read time is significantly reduced for image acquisition and decoding of optical codes by an imager-based optical code reader.
It is a further aspect of the present invention to sample ambient light and adjust parameter settings for signal processing of signals generated by an image sensor of an imager-based optical code reader.
It is still a further aspect of the present objection to reduce the time needed to adjust parameter settings for signal processing of signals generated by an image sensor of an imager-based optical code reader.
It is an additional aspect of the present invention to provide initial parameter settings for signal processing of signals generated by an image sensor of an imager-based optical code reader when the initial parameter settings are optimized for processing signals corresponding to image acquisition performed during a frame preceding trigger activation.